package com.kehutong.wxapi.request;

import org.coraframework.json.annotation.JSONField;

/**
 * 全量覆盖部门请求对象
 * @author: liukunlong
 * @date: 2021-03-08 18:28
 */
public class BatchReplacePartyRequest {
    /**
     * 调用接口凭证
     */
    private String accessToken;
    /**
     * 上传的csv文件的media_id
     */ /**
     * media_id : xxxxxx
     * callback : {"url":"xxx","token":"xxx","encodingaeskey":"xxx"}
     */

    @JSONField(name = "media_id")
    private String mediaId;
    /**
     * 回调信息。如填写该项则任务完成后，通过callback推送事件给企业。具体请参考应用回调模式中的相应选项
     */
    @JSONField(name = "callback")
    private CallbackDTO callback;


    public String getAccessToken() {
        return accessToken;
    }

    public void setAccessToken(String accessToken) {
        this.accessToken = accessToken;
    }

    public String getMediaId() {
        return mediaId;
    }

    public void setMediaId(String mediaId) {
        this.mediaId = mediaId;
    }

    public CallbackDTO getCallback() {
        return callback;
    }

    public void setCallback(CallbackDTO callback) {
        this.callback = callback;
    }

    public static class CallbackDTO {
        /**
         * 企业应用接收企业微信推送请求的访问协议和地址，支持http或https协议
         */ /**
         * url : xxx
         * token : xxx
         * encodingaeskey : xxx
         */

        @JSONField(name = "url")
        private String url;
        /**
         * 用于生成签名
         */
        @JSONField(name = "token")
        private String token;
        /**
         * 用于消息体的加密，是AES密钥的Base64编码
         */
        @JSONField(name = "encodingaeskey")
        private String encodingaeskey;

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }

        public String getToken() {
            return token;
        }

        public void setToken(String token) {
            this.token = token;
        }

        public String getEncodingaeskey() {
            return encodingaeskey;
        }

        public void setEncodingaeskey(String encodingaeskey) {
            this.encodingaeskey = encodingaeskey;
        }
    }
}
